package 传智播客_黑马.java基础.集合总览.Map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/*
遍历Map集合的两种方法
    1,使用增强for循环
    2,使用迭代器进行循环
    3,使用EntrySet(键值对对象)进行遍历,他是一个内部类
 */
public class 遍历Map集合 {
    public static void main(String[] args) {
        Map<String,Integer> map = new HashMap<>();
        map.put("赵丽颖",168);
        map.put("杨颖",165);
        map.put("林志玲",178);
        System.out.println(map);//{林志玲=178, 赵丽颖=168, 杨萍=165}
        show01(map);
        show02(map);
        show03(map);

    }

    private static void show03(Map<String, Integer> map) {
        Set<Map.Entry<String, Integer>> maps = map.entrySet();
        for (Map.Entry<String, Integer> entry : maps) {
            System.out.println(entry);
        }
    }

    /*
    使用迭代器进行遍历
     */
    private static void show02(Map<String, Integer> map) {
        Set<String> key = map.keySet();
        Iterator<String> it = key.iterator();
        while(it.hasNext()){
            String s = it.next();
            System.out.println(s + map.get(s) );
        }
        System.out.println("===========================");
    }
    /*
    使用增强for循环进行间接遍历
     */
    private static void show01(Map<String, Integer> map) {
        Set<String> key = map.keySet();
        for (String s : key) {
            System.out.println(s + map.get(s));
        }
        System.out.println("==============================");
    }
}
